package business;

import java.awt.Color;
import java.util.Date;

import persistence.model.Matiere;
import persistence.model.Periode;
import persistence.model.Salle;

public class PeriodeBL {

	private Periode p = null;

	public PeriodeBL() {

	}

	public PeriodeBL(int id) {
		p = (Periode) Periode.all().get(id);
	}

	/**
	 * @return retourne si la demande d'ajout ou de modification est valide ou
	 *         non
	 */
	public boolean verifierValiditeModif() {
		// TODO
		return true;
	}

	/**
	 * @return retourne si la demande de suppression est valide ou non
	 */
	public boolean verifierValiditeSuppr() {
		// TODO
		return true;
	}

	/**
	 * @param id
	 *            : identifiant de la période
	 * @param datePeriode
	 *            : date de la période
	 * @param position
	 *            : position dans la journée de la période
	 */
	public void ajouterPeriode(int id, String datePeriode, int position) {
		p = new Periode(id, datePeriode, position);
		p.save();
	}

	public void ajouterEnsemblePeriode(String dateDebut, String dateFin) {
	}
	
	/**
	 * @param id
	 *            : identifiant de la période
	 * @param datePeriode
	 *            : date de la période
	 * @param position
	 *            : position dans la journée de la période
	 */
/*	public void modifierPeriode(int id, String datePeriode, int position) {
		p = new Periode(id, datePeriode, position);
		p.save(id);
	}
*/
	/**
	 * @param id
	 *            : identifiant de la période
	 */
	public void supprimerPeriode() {
		p = new Periode(this.getIdPeriode());
		p.delete();
	}

	/* Ensemble des getters et setters -> delegation vers la persistance */

	public int getIdPeriode() {
		return p.getId();
	}

	public void setIdPeriode(int idPeriode) {
		p.setId(idPeriode);
	}

	public String getDatePeriode() {
		return p.getDatePeriode();
	}

	public void setDatePeriode(String datePeriode) {
		p.setDatePeriode(datePeriode);
	}

	public int getPositionPeriode() {
		return p.getPositionPeriode();
	}

	public void setPositionPeriode(int positionPeriode) {
		p.setPositionPeriode(positionPeriode);
	}

	public int getIdPeriode(String date, int position) {
		p = (Periode) Periode.all().filter(
				"dateperiode = '" + date + "' AND positionperiode = " + position)
				.getFirst();
		return p.getId();
	}
}
